1. Field
One embodiment of the invention relates to a moving image stream decoding control technique suitable for, e.g., a personal computer which includes a TV function of recording/playing back digital broadcast program data broadcast using television broadcast signals.
2. Description of the Related Art
In recent years, notebook type personal computers which can be driven by a battery and can be easily carried by users have widely prevailed. This type of computer is thinner and more lightweight, and has more advanced functions. Some computers which include a TV function for viewing digital television broadcast programs have become commercially available. By carrying this type of computer, therefore, the user can enjoy digital television broadcast programs even when he/she is away from home or on the move.
Along with the development of a wireless communication environment, it has become easier for the user to connect to the Internet even when he/she is away from home or on the move, and it has also become possible to receive digital television broadcast program data from a server to which the user connects via the Internet, and view them.
The digital broadcast program data is, e.g., a moving image stream compression-encoded by a scheme complying with the Moving Picture Experts Group (MPEG)-2 standard. Various mechanisms for efficiently decoding such compression encoded moving image stream have been proposed (e.g., see Jpn. Pat. Applin. KOKAI Publication No. 2002-57986).
Computers normally comprise a graphics accelerator (to be referred to as an accelerator hereinafter) which renders, in place of a CPU, images to be displayed by various application programs. These days, some accelerators which include a function of executing part of decoding processing for decoding a compression encoded moving image stream have become commercially available. Many of the computers including a TV function implement this TV function by software. In this case, the decoding processing of the moving image stream is executed by one module of the software running on the CPU. It is expected to considerably reduce the load on the CPU by making the accelerator execute part of the decoding processing.
A moving image stream compression-encoded by a scheme complying with the MPEG-2 standard has a hierarchical structure with six layers, i.e., a sequence layer, Group of Pictures (GOP) layer, picture layer, slice layer, macroblock layer, and block layer. Of them, the picture layer is paired with each image of the moving image and provided. The lower slice layer has image data sets (slices) having a predetermined division width and arbitrary lengths, which are generated by dividing each image horizontally. The arbitrary length intends that a plurality of slices can be provided in each row. Macroblocks are generated by dividing each image in a matrix pattern. That is, a slice is obtained by arranging these macroblocks in the row direction. As a typical example of the above described accelerators which include a function of executing part of the decoding processing for decoding the compression encoded moving image stream, there is an accelerator which receives each slice of the moving image stream, and executes the decoding processing.
This accelerator requires, as specifications, to receive a slice of the moving image stream to be decoded as well as, as arguments, an address representing the horizontal and vertical positions of the first macroblock of the slice within each image and the number of macroblocks contained in the slice. The software which makes the accelerator execute the decoding processing in the slice layer or the lower layer must refer to the slice layer or the lower layer to acquire the values given as arguments. Consequently, it is impossible to reduce the load on the CPU as much as expected.